package persistence.dao;

import java.util.Set;

import persistence.dto.ProductGroupDTO;
import persistence.dto.StorageUnitDTO;

public interface IStorageUnitsDAO
{
	/** gets all of the storage units from file
	 * @return returns a set containing all of the storage units
	 */
	public Set<StorageUnitDTO> getAllStorageUnits();
	
	/**
	 * persists a new StorageUnit to file
	 * @param storageUnitDTO the storage unit to be persisted to memory
	 * @return returns the unique ID assigned to the storage unit
	 */
	public int add(StorageUnitDTO storageUnitDTO);
	
	/**
	 * edits the storage unit on file
	 * @param storageUnitDTO the storage unit to be updated
	 * @return returns true upons success, false otherwise
	 */
	public boolean edit(StorageUnitDTO storageUnitDTO);
	
	/**
	 * removes the storage unit from memory
	 * @param storageUnitDTO the storage unit to be removed
	 * @return returns true upon success, false otherwise
	 */
	public boolean remove(StorageUnitDTO storageUnitDTO);
}
